package com.cdu.guoxinan.www.smartcom.domian.pojo;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

import java.io.Serializable;

import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
* 居民健康服务预约记录
* @TableName health_service_appointment
*/
@Data
public class HealthServiceAppointment implements Serializable {

    /**
    * 预约ID
    */
    @ApiModelProperty("预约ID")
    private Long appointmentId;
    /**
    * 居民ID
    */
    @ApiModelProperty("居民ID")
    private Long residentId;
    /**
    * 服务类型（1 理疗 2 咨询）
    */
    @ApiModelProperty("服务类型（1 理疗 2 咨询）")
    private Integer serviceType;
    /**
    * 指定医生姓名
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("指定医生姓名")
    @Length(max= 50,message="编码长度不能超过50")
    private String doctorName;
    /**
    * 预约日期
    */
    @ApiModelProperty("预约日期")
    private Date appointmentDate;
    /**
    * 时间段（如 上午9:00-10:00）
    */
    @NotBlank(message="[时间段（如 上午9:00-10:00）]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("时间段（如 上午9:00-10:00）")
    @Length(max= 20,message="编码长度不能超过20")
    private String timeSlot;
    /**
    * 状态（1 待确认 2 已完成 3 取消）
    */
    @ApiModelProperty("状态（1 待确认 2 已完成 3 取消）")
    private Integer status;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private Date createdAt;
    /**
    * 联系电话
    */
    @NotBlank(message="[联系电话]不能为空")
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("联系电话")
    @Length(max= 255,message="编码长度不能超过255")
    private String phone;
    /**
    * 预约备注
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("预约备注")
    @Length(max= 255,message="编码长度不能超过255")
    private String remark;
    /**
    * 服务地点
    */
    @ApiModelProperty("服务地点")
    private String location;
    /**
    * 服务时长(分钟)
    */
    @ApiModelProperty("服务时长(分钟)")
    private Integer duration;
    /**
    * 服务费用
    */
    @ApiModelProperty("服务费用")
    private java.math.BigDecimal price;

}
